1. Field of the Invention
The invention relates to echo cancellation system, and more particularly to an acoustic echo cancellation system with two or more adaptive filters and one or more attenuators.
2. Description of the Related Art
FIG. 1 shows a block diagram of a conventional system for implementing Acoustic Echo Cancellation (AEC). A received signal x(n) is supplied via the input 101, and, in turn, transmitted to a loudspeaker 104 and filter 103. The filter 103 generates a simulated echo signal z(n) to remove unwanted portions from the signal y(n). In practice, a microphone 105 picks up desired acoustic signals, and also unavoidably picks up undesired audio output signals from the loudspeaker 104 which is called the acoustic echo. Typically, the audio signal picked up by microphone 105 has two acoustic echo components, one component is from the direct acoustic echo path (DEP) between a loudspeaker 104 and the microphone 105 and the other is from the reflective acoustic echo path (REP) reflected by walls or objects. The filter 103 plays the key role in removal of echo components in acoustic echo cancellation; its performance affects the effectiveness of acoustic echo cancellation.
Compared to telephone network echo paths, acoustic echo paths have certain distinctively different characteristics. For example, acoustic echo paths often have longer spans, varying impulse responses with time, and much less attenuated echo returns. Thus, adopting a network echo canceller to perform acoustic echo control is unsuitable. Due to the distinctively different characteristics of acoustic echo paths, AEC designs are generally more complicated and implementation more costly. For a typical hand-free voice terminal application in a conference room, the acoustical echo path span can easily be a few hundred milliseconds. When using the FIR filter 103 in FIG. 1 to replicate echo path response, more than a thousand taps are required for the narrowband digital speech signal sampled at 8 kHz, and a few thousands taps are required in wideband applications where the sampling rate is 16 kHz or higher.
Due to cost sensitivities, most applications in industrial and commercial products use integer fixed-point processors rather than the more expensive floating-point processors. Digital speech data are commonly sampled to be 16 bit 2's complement integer, and Acoustic Echo Canceller implementations are commonly done with fixed-point digital signal processors (DSP) that typically have 16-bit data word length and 40-bit integer multiply-accumulator. When two 16-bit integer data undergo integer multiplication, a 32-bit integer product is formed. Meanwhile, with 8 guard bits in a 40-bit accumulator, in the worst case a total of 256 multiply-accumulate operations can be done before saturation could occur.
Multiply-accumulation is an essential operation of FIR filtering. If the filter length N is large such as in the case needed to represent the estimated acoustic echo path impulse response, the sum-of-product operations may exceed 40 bits often. The limited accumulator length of the fixed-point processor will prevent the real acoustic impulse response from being represented digitally with sufficient precision. This is especially true when the received input signal has a higher signal level, then there will be fewer number of bits available for the FIR filter coefficients in order to avoid saturation in the multiply-accumulate operations. In the case of saturation happening or lacking of sufficient bit precision for filter coefficient representation, acoustic echo cancellation performance is adversely affected. Therefore the conventional ways of implementing adaptive FIR filter on fixed-point processors often experience degraded performance when used in acoustic echo cancellation applications.